skip to main content
10.1145/3519939.3523429acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections

Can reactive synthesis and syntax-guided synthesis be friends?

Published:09 June 2022Publication History

ABSTRACT

While reactive synthesis and syntax-guided synthesis (SyGuS) have seen enormous progress in recent years, combining the two approaches has remained a challenge. In this work, we present the synthesis of reactive programs from Temporal Stream Logic modulo theories (TSL-MT), a framework that unites the two approaches to synthesize a single program. In our approach, reactive synthesis and SyGuS collaborate in the synthesis process, and generate executable code that implements both reactive and data-level properties.

We present a tool, temos, that combines state-of-the-art methods in reactive synthesis and SyGuS to synthesize programs from TSL-MT specifications. We demonstrate the applicability of our approach over a set of benchmarks, and present a deep case study on synthesizing a music keyboard synthesizer.

References

  1. Rajeev Alur, Rastislav Bodik, Garvit Juniwal, Milo MK Martin, Mukund Raghothaman, Sanjit A Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, and Abhishek Udupa. 2013. Syntax-guided synthesis. IEEE.Google ScholarGoogle Scholar
  2. Rajeev Alur, Dana Fisman, Saswat Padhi, Andrew Reynolds, Rishabh Singh, and Abhishek Udupa. 2019. The 6th Competition on Syntax-Guided Synthesis. https://sygus.org/comp/2019/results-slides.pdf Accessed: 2019-11-20.Google ScholarGoogle Scholar
  3. Sourav Anand and Nadia Polikarpova. 2018. Automatic Synchronization for GPU Kernels. In Formal Methods in Computer Aided Design, FMCAD. IEEE. https://doi.org/10.23919/FMCAD.2018.8602999 Google ScholarGoogle ScholarCross RefCross Ref
  4. C.P.R. Baaij. 2015. Digital circuit in Cλ aSH: functional specifications and type-directed synthesis. Ph.D. Dissertation. University of Twente. isbn:978-90-365-3803-9 https://doi.org/10.3990/1.9789036538039 eemcs-eprint-23939. Google ScholarGoogle ScholarCross RefCross Ref
  5. Clark Barrett and Cesare Tinelli. 2018. Satisfiability modulo theories. In Handbook of Model Checking. Springer.Google ScholarGoogle Scholar
  6. Clark W. Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanovic, Tim King, Andrew Reynolds, and Cesare Tinelli. 2011. CVC4. In Computer Aided Verification - 23rd International Conference, CAV (Lecture Notes in Computer Science, Vol. 6806). Springer. https://doi.org/10.1007/978-3-642-22110-1_14 Google ScholarGoogle ScholarCross RefCross Ref
  7. Roderick Bloem, Swen Jacobs, and Ayrat Khalimov. 2014. Parameterized synthesis case study: AMBA AHB (extended version). arXiv preprint arXiv:1406.7608.Google ScholarGoogle Scholar
  8. Benjamin Caulfield, Markus N Rabe, Sanjit A Seshia, and Stavros Tripakis. 2015. What’s Decidable about Syntax-Guided Synthesis? arXiv preprint arXiv:1510.08393.Google ScholarGoogle Scholar
  9. Pavol Cerný, Edmund M. Clarke, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Roopsha Samanta, and Thorsten Tarrach. 2015. From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis. In Computer Aided Verification - 27th International Conference, CAV (Lecture Notes in Computer Science, Vol. 9207). Springer. https://doi.org/10.1007/978-3-319-21668-3_11 Google ScholarGoogle ScholarCross RefCross Ref
  10. Pavol Černỳ, Thomas A Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, and Thorsten Tarrach. 2014. Regression-free synthesis for concurrency. In International conference on computer aided verification.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Sarah Chasins and Julie L. Newcomb. 2016. Using SyGuS to Synthesize Reactive Motion Plans. In Proceedings Fifth Workshop on Synthesis (Electronic Proceedings in Theoretical Computer Science, Vol. 229). Open Publishing Association. https://doi.org/10.4204/EPTCS.229.3 Google ScholarGoogle ScholarCross RefCross Ref
  12. Wonhyuk Choi, Michel Vazirani, and Mark Santolucito. 2021. Program Synthesis for Musicians: A Usability Testbed for Temporal Logic Specifications. In Asian Symposium on Programming Languages and Systems.Google ScholarGoogle Scholar
  13. Alonzo Church. 1957. Applications of recursive arithmetic to the problem of circuit synthesis. Summaries of the Summer Institute of Symbolic Logic at Cornell University, Vol. 1.Google ScholarGoogle Scholar
  14. Alessandro Cimatti, Marco Roveri, Viktor Schuppan, and Andrei Tchaltsev. 2008. Diagnostic information for realizability. In International Workshop on Verification, Model Checking, and Abstract Interpretation.Google ScholarGoogle ScholarCross RefCross Ref
  15. Edmund Clarke, Orna Grumberg, Somesh Jha, Yuan Lu, and Helmut Veith. 2000. Counterexample-guided abstraction refinement. In International Conference on Computer Aided Verification.Google ScholarGoogle ScholarCross RefCross Ref
  16. Conal Elliott and Paul Hudak. 1997. Functional reactive animation. In Proceedings of the second ACM SIGPLAN international conference on Functional programming.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Bernd Finkbeiner, Philippe Heim, and Noemi Passing. 2021. Temporal Stream Logic modulo Theories. arxiv:2104.14988. arxiv:2104.14988Google ScholarGoogle Scholar
  18. Bernd Finkbeiner, Felix Klein, Ruzica Piskac, and Mark Santolucito. 2019. Synthesizing functional reactive programs. In Proceedings of the 12th ACM SIGPLAN International Symposium on Haskell.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Bernd Finkbeiner, Felix Klein, Ruzica Piskac, and Mark Santolucito. 2019. Temporal stream logic: Synthesis beyond the bools. In International Conference on Computer Aided Verification.Google ScholarGoogle ScholarCross RefCross Ref
  20. Sumit Gulwani. 2011. Automating String Processing in Spreadsheets using Input-Output Examples. In POPL. https://www.microsoft.com/en-us/research/publication/automating-string-processing-spreadsheets-using-input-output-examples/Google ScholarGoogle Scholar
  21. Liana Hadarean, Kshitij Bansal, Dejan Jovanović, Clark Barrett, and Cesare Tinelli. 2014. A tale of two solvers: Eager and lazy approaches to bit-vectors. In International Conference on Computer Aided Verification.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Charles Antony Richard Hoare. 1969. An axiomatic basis for computer programming. Commun. ACM, 12, 10 (1969).Google ScholarGoogle Scholar
  23. Kyle Hsu, Rupak Majumdar, Kaushik Mallik, and Anne-Kathrin Schmuck. 2018. Multi-layered abstraction-based controller synthesis for continuous-time systems. In Proceedings of the 21st International Conference on Hybrid Systems: Computation and Control (part of CPS Week).Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Qinheping Hu, Jason Breck, John Cyphert, Loris D’Antoni, and Thomas Reps. 2019. Proving unrealizability for syntax-guided synthesis. In International Conference on Computer Aided Verification.Google ScholarGoogle ScholarCross RefCross Ref
  25. Qinheping Hu, John Cyphert, Loris D’Antoni, and Thomas Reps. 2020. Exact and approximate methods for proving unrealizability of syntax-guided synthesis problems. In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Swen Jacobs. 2014. Extended AIGER format for synthesis. arXiv preprint arXiv:1405.5793.Google ScholarGoogle Scholar
  27. Swen Jacobs, Felix Klein, and Sebastian Schirmer. 2016. A high-level LTL synthesis format: TLSF v1. 1. arXiv preprint arXiv:1604.02284.Google ScholarGoogle Scholar
  28. Swen Jacobs, Guillermo Perez, Roderick Bloem, and Armin Biere. 2020. The 7th Reactive Synthesis Competition. http://www.syntcomp.org/wp-content/uploads/2020/07/SYNTCOMP2020-SYNT.pdf Accessed: 2021-05-18.Google ScholarGoogle Scholar
  29. Ron Koymans. 1990. Specifying real-time properties with metric temporal logic. Real-time systems, 2, 4 (1990).Google ScholarGoogle Scholar
  30. Shuvendu K Lahiri and Sanjit A Seshia. 2004. The UCLID decision procedure. In International Conference on Computer Aided Verification.Google ScholarGoogle ScholarCross RefCross Ref
  31. Robert Love. 2010. Linux kernel development. Pearson Education.Google ScholarGoogle Scholar
  32. Parthasarathy Madhusudan. 2011. Synthesizing reactive programs. In Computer Science Logic (CSL’11)-25th International Workshop/20th Annual Conference of the EACSL.Google ScholarGoogle Scholar
  33. Oded Maler and Dejan Nickovic. 2004. Monitoring temporal properties of continuous signals. In Formal Techniques, Modelling and Analysis of Timed and Fault-Tolerant Systems. Springer.Google ScholarGoogle Scholar
  34. Philipp J. Meyer, Salomon Sickert, and Michael Luttenberger. 2018. Strix: Explicit Reactive Synthesis Strikes Back!. In Computer Aided Verification - 30th International Conference, CAV (Lecture Notes in Computer Science, Vol. 10981). Springer. https://doi.org/10.1007/978-3-319-96145-3_31 Google ScholarGoogle ScholarCross RefCross Ref
  35. Amir Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science.Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Amir Pnueli and Roni Rosner. 1989. On the Synthesis of an Asynchronous Reactive Module. In Automata, Languages and Programming, 16th International Colloquium (Lecture Notes in Computer Science, Vol. 372). Springer. https://doi.org/10.1007/BFb0035790 Google ScholarGoogle ScholarCross RefCross Ref
  37. Vasumathi Raman, Alexandre Donzé, Dorsa Sadigh, Richard M. Murray, and Sanjit A. Seshia. 2015. Reactive Synthesis from Signal Temporal Logic Specifications. In Proceedings of the 18th International Conference on Hybrid Systems: Computation and Control (HSCC ’15). Association for Computing Machinery, New York, NY, USA. isbn:9781450334334Google ScholarGoogle Scholar
  38. Leonid Ryzhyk and Adam Walker. 2016. Developing a Practical Reactive Synthesis Tool: Experience and Lessons Learned. In Proceedings Fifth Workshop on Synthesis, SYNT@CAV (EPTCS, Vol. 229). https://doi.org/10.4204/EPTCS.229.8 Google ScholarGoogle ScholarCross RefCross Ref
  39. David Shah, Eddie Hung, Clifford Wolf, Serge Bazanski, Dan Gisselquist, and Miodrag Milanovic. 2019. Yosys+ nextpnr: an open source framework from verilog to bitstream for commercial fpgas. In IEEE 27th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM).Google ScholarGoogle ScholarCross RefCross Ref
  40. Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne. 2014. Operating system concepts essentials.Google ScholarGoogle Scholar

Index Terms

  1. Can reactive synthesis and syntax-guided synthesis be friends?

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      PLDI 2022: Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation
      June 2022
      1038 pages
      ISBN:9781450392655
      DOI:10.1145/3519939
      • General Chair:
      • Ranjit Jhala,
      • Program Chair:
      • Işil Dillig

      Copyright © 2022 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 9 June 2022

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate406of2,067submissions,20%

      Upcoming Conference

      PLDI '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader